/* 
 * File:   project.hpp
 * Author: jolo
 *
 * Created on 11. Oktober 2011, 00:34
 */

#ifndef MODEL_PROJECT_HPP
#define	MODEL_PROJECT_HPP

#include "standard_in_repository_entity.hpp"

namespace model
{

    class project : public standard_in_repository_entity
    {
    public:
        project(const string& name = "new project",
                const string& description = "",
                repository* r = 0);
        virtual ~project();

        virtual const string to_string() const;
        virtual const string object_name() const;
        
    private:
        friend class boost::serialization::access;

        template<class Archive>
        void serialize(Archive & ar, const unsigned int version)
        {
            (void) version;
            ar & boost::serialization::base_object<standard_in_repository_entity > (*this);
        }

    };
    
    typedef shared_ptr<project> project_ptr;
    typedef vector<project_ptr> project_vector;
}

#endif	/* PROJECT_HPP */

